package model

import "fx_swift_boss/api"

// ForexOnboardingCustomer  kyc客户记录信息表
type ForexOnboardingCustomer struct {
	ID                         int64  `json:"id"`                           //  主键
	CustomerId                 string `json:"customer_id"`                  //  客户记录信息id
	CustomerStatus             string `json:"customer_status"`              //  客户状态
	Configuration              string `json:"configuration"`                //  监控配置标识
	ExternalIdentifier         string `json:"external_identifier"`          //  外部唯一标识
	CustomerIdentifier         string `json:"customer_identifier"`          //  客户记录唯一标识
	WorkflowInstanceIdentifier string `json:"workflow_instance_identifier"` //  客户记录workflow唯一标识
	ScreeningResult            string `json:"screening_result"`             //	筛选结果
	OverallValue               string `json:"overall_value"`                //	风险得分
	OverallLevel               string `json:"overall_level"`                //风险等级
	Account                    string `json:"account"`                      //	登陆账号
	Message                    string `json:"message"`                      //  审批信息
}

// ForexPerson  kyc个人信息表
type ForexPerson struct {
	ID                     int64  `json:"id"`                      //  主键
	CustomerId             string `json:"customer_id"`             //  客户记录信息主键id
	FirstName              string `json:"first_name"`              //  名
	LastName               string `json:"last_name"`               //  姓
	MiddleName             string `json:"middle_name"`             //  中间名
	Gender                 string `json:"gender"`                  //  性别
	Nationality            string `json:"nationality"`             //  国籍
	Title                  string `json:"title"`                   //  title
	Address                string `json:"address"`                 //  地址信息
	DateOfBirth            string `json:"date_of_birth"`           //  api_date
	ContactInformation     string `json:"contact_information"`     //  联系信息
	CountryOfBirth         string `json:"country_of_birth"`        //  出生地
	PersonalIdentification string `json:"personal_identification"` //  身份信息
	Profession             string `json:"profession"`              //  职业
	ResidentialInformation string `json:"residential_information"` //  居住信息
	SalaryCurrency         string `json:"salary_currency"`         //  薪资币种
	SalaryRange            string `json:"salary_range"`            //  薪资幅度
	SourceOfWealth         string `json:"source_of_wealth"`        //  财富来源
}

// ForexCompany  kyc公司信息表
type ForexCompany struct {
	ID                                  int64  `json:"id"`                                    //  主键
	CustomerId                          string `json:"customer_id"`                           //  客户记录信息主键id
	Aliases                             string `json:"aliases"`                               //  别名
	CompanyStatus                       string `json:"company_status"`                        //  公司状态
	CompanyType                         string `json:"company_type"`                          //  公司类型
	LegalName                           string `json:"legal_name"`                            //  法定名称
	PlaceOfRegistration                 string `json:"place_of_registration"`                 //  注册地
	RegistrationAuthorityIdentification string `json:"registration_authority_identification"` //  注册证件号
	IncorporationDate                   string `json:"incorporation_date"`                    //  公司注册日期
	Addresses                           string `json:"addresses"`                             //  公司地址
}

// ForexProduct  kyc product信息表
type ForexProduct struct {
	ID                       int64  `json:"id"`                         //  主键
	CustomerId               string `json:"customer_id"`                //  客户记录信息主键id
	ProductName              string `json:"product_name"`               //  项目名称
	ProductStatus            string `json:"product_status"`             //  项目状态
	Currency                 string `json:"currency"`                   //  币种
	MonthlyPaymentValue      string `json:"monthly_payment_value"`      //  月均消费额度
	MonthlyReceivedValue     string `json:"monthly_received_value"`     //  月均收入额度
	MonthlyTransactionNumber string `json:"monthly_transaction_number"` //  月均交易次数
	Purpose                  string `json:"purpose"`                    //  目的
	ProductDetails           string `json:"product_details"`            //  项目详情
	OnboardingChannel        string `json:"onboarding_channel"`         //  入职渠道
}

type ForexCustomerTmp struct {
	Account    string `json:"account"`
	ReqJson    string `json:"req_json"`
	CustomerId string `json:"customer_id"`
}

type ComplyPersonOnboardingReq struct {
	Customer      Customer          `json:"customer"`
	Product       []api.ProductList `json:"product"`
	Configuration struct {
		MonitorConfigurationIdentifier   string `json:"monitor_configuration_identifier"`
		ScreeningConfigurationIdentifier string `json:"screening_configuration_identifier"`
	} `json:"configuration"`
	Account     string `json:"account"`
	AccountType string `json:"account_type"`
}

type Customer struct {
	CustomerId string     `json:"customer_id"`
	Person     api.Person `json:"person"` //必传
	//Company       *api.Company `json:"company"` //必传

	CustomerIdentifier struct {
		Id string `json:"id"`
	} `json:"customer_identifier"` //必传
	CustomerStatus     string `json:"customer_status"` //必传
	ExternalIdentifier struct {
		Id string `json:"id"`
	} `json:"external_identifier"` //必传
}
